import { app, BrowserWindow, Menu, globalShortcut } from 'electron'
import path from 'path'
import { fileURLToPath } from 'url'
const __filenameNew = fileURLToPath(import.meta.url)
const __dirnameNew = path.dirname(__filenameNew)

// 禁止显示默认菜单
Menu.setApplicationMenu(null)
let mainWindow: BrowserWindow | null
// 创建窗口函数
function createWindow() {
  // 创建一个新的 BrowserWindow 实例
  mainWindow = new BrowserWindow({
    width: 1200, // 窗口宽度
    height: 800, // 窗口高度
    icon: path.resolve(__dirnameNew, './icons/icon.ico'), // 窗口图标
    webPreferences: {
      webSecurity: false, // 禁用网页安全
      nodeIntegration: false, // 禁用 Node.js 集成
      contextIsolation: true, // 启用上下文隔离
      // enableRemoteModule: false, // 禁用远程模块
      // permissions: 'enable-desktop-capture', // 允许桌面捕获
      preload: path.join(__dirnameNew, 'preload.js'), // 预加载脚本
    },
  })

  // 注册快捷键
  globalShortcut.register('CommandOrControl+shift+I', () => {
    mainWindow!.webContents.openDevTools() // 打开开发者工具
  })
  if (process.env.NODE_ENV === 'development') {
    mainWindow.loadURL('http://172.16.10.56:5173/') // 开发环境加载本地 URL
  } else {
    mainWindow.loadFile(path.join(__dirnameNew, '../dist/index.html')) // 生产环境加载打包后的文件
    // mainWindow.loadFile(`file://${path.join(__dirnameNew, '../dist/index.html')}`)
    // mainWindow.loadURL(`file://${path.join(__dirnameNew, '../dist/index.html')}`)
  }

  mainWindow.on('closed', () => {
    mainWindow = null // 关闭窗口时将 mainWindow 设置为 null
  })
}

app.whenReady().then(createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') app.quit()
})

app.on('activate', () => {
  if (mainWindow === null) createWindow()
})
